deltas: Rework format to allow streaming
authorColin Walters <walters@verbum.org>
Thu, 29 Jan 2015 06:03:55 +0000 (01:03 -0500)
committerColin Walters <walters@verbum.org>
Mon, 16 Feb 2015 15:10:35 +0000 (10:10 -0500)
commitd749932f6b00ebcf3f79100f1a9ad9f2a5f1fc98
treee643021b9ee9df5bfd78fb8c0f184a7fb355980d
parent513d47a90cb076e6e73eb92053ed5d73d6d3dd16
deltas: Rework format to allow streaming

There's still some silliness here, but there is now only one opcode
open-splice-and-close, that writes a single chunk from the payload.
This is really all we need for metadata, and small content objects are
also fine with this.

We get some deduplication between content objects by creating a
dictionary for (uid,gid,mode) tuples and xattrs.

This still keeps the operation/payload code in, so we could do
rollsums in a future update easily.
src/libostree/ostree-repo-static-delta-compilation.c
src/libostree/ostree-repo-static-delta-private.h
src/libostree/ostree-repo-static-delta-processing.c